package com.example.lottery.controller.param;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

@Data
public class ActivityCreateParam {
    /**
     * 活动名称
     */
    @NotBlank(message = "活动名称不能为空")
    private String activityName;
    /**
     * 活动描述
     */
    @NotBlank(message = "活动描述不能为空")
    private String description;
    /**
     * 圈选奖品信息 多个
     */
    @NotEmpty(message = "圈选奖品不能为空")
    private List<ActivityPrizeInfo> activityPrizeList;
    /**
     * 圈选人员信息 多个
     */
    @NotEmpty(message = "圈选用户不能为空")
    private List<ActivityUserInfo> activityUserList;

    @Data
    public static class ActivityPrizeInfo implements Serializable {
        /**
         * 奖品id
         */
        @NotNull
        private Long prizeId;
        /**
         * 奖品数量
         */
        @NotNull
        private Long prizeAmount;
        /**
         * 奖品等级
         */
        @NotBlank(message = "奖品等级不能为空")
        private String prizeTiers;
    }
    @Data
    public static class ActivityUserInfo implements Serializable{
        /**
         * 用户id
         */
        @NotNull
        private Long userId;
        /**
         * 用户名称
         */
        @NotBlank(message = "用户名称不能为空")
        private String userName;
    }

}
